﻿using System;
using System.Web.UI;
using Tibet.GUI.Contrato;
using Tibet.GUI.Presentador;
using Tibet.Entidades;
using System.Windows.Forms;
using Tibet.Logica.FabricaLogica;
using Tibet.Logica.Comandos;
using Entidades;

namespace Tibet.GUI.Vista
{
    /// <summary>
    /// Clase para mostrar la página de inicio de sesión
    /// </summary>
    public partial class InicioSesion : System.Web.UI.Page, 
        IContratoInicioSesion
    {
        private PresentadorInicioSesion _presentadorInicioSesion;

        /// <summary>
        /// Constructor de la clase
        /// </summary>
        public InicioSesion()
        {
            _presentadorInicioSesion = new PresentadorInicioSesion( this );
        }

        /// <summary>
        /// Get del campo de texto Usuario
        /// </summary>
        public string NombreUsuario
        {
            get
            {
                return _nombreUsuarioTextbox.Text;
            }
        }

        /// <summary>
        /// Get del campo de texto Clave
        /// </summary>
        public string Contrasenha
        {
            get
            {
                return _contrasenhaTextbox.Text;
            }
        }

        /// <summary>
        /// Código a ejecutar cuando el usuario presiona el botón Ingresar
        /// para acceder al sistema
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void _ingresarBoton_Click( object sender, EventArgs e )
        {
            Page.Validate( "grupoLogin" );

            if ( Page.IsValid )
            {
                bool resultado = _presentadorInicioSesion.ClickIngresar();

                if ( resultado )
                {
                    int idUsuarioConectado = _presentadorInicioSesion.
                        BuscarIdUsuarioConectado( _nombreUsuarioTextbox.Text );
                    Session[ "idUsuario" ] = idUsuarioConectado;

                    //Se asignan los privilegios para visualizar la información
                    //de la página de inicio


                    string nombreRol = _presentadorInicioSesion.buscarnombrerol(_nombreUsuarioTextbox.Text);

                    if (nombreRol == "Administrador")
                    {
                       Session["Privilegio"]="1";
                    
                    }
                      
                   if (nombreRol == "Lider")
                    {
                       Session["Privilegio"]="2";
                    
                    }

                   if (nombreRol == "Desarrollador")
                    {
                       Session["Privilegio"]="3";
                    
                    }

                   Response.Redirect("PantallaInicio.aspx");
               
                    
              }


             
                }


                MessageBox.Show( "La combinación de usuario y\nclave no " +
                    "se encuentra registrada", "Acceso no autorizado",
                    MessageBoxButtons.OK, MessageBoxIcon.Error );
                
  
            }







        protected void Page_Load(object sender, EventArgs e)
        {
            SingletonConfig sc = SingletonConfig.ObtenerInstancia();

            String verificaLogin = Request.QueryString["sLogin"];

            if (verificaLogin != null)
            {

                if (verificaLogin.Equals("1")) //incio session redireccionamos
                {
                    this.MensajeDeError.Text = "Nombre de Usuario o contraseña incorrecta";
                }
                else //entramos por primera vez
                {
                }









            }
        }
        //protected void _ingresarBoton_Click( object sender, EventArgs e )
        //{

        //    Page.Validate( "grupoLogin" );
            
        //    if ( Page.IsValid )
        //    {


        //        Logica.Credencial credencialUsuario = new Logica.Credencial();

        //        credencialUsuario.Alias = this._nombreUsuarioTextbox.Text;
        //        credencialUsuario.Clave = this._contrasenhaTextbox.Text;

        //        if ( credencialUsuario.ValidarLogin( credencialUsuario ) )
        //        {
        //            if ( credencialUsuario.Alias.Equals( "maguca" ) || credencialUsuario.Alias.Equals( "ingxio" ) || credencialUsuario.Alias.Equals( "luis" ) || credencialUsuario.Alias.Equals( "eduardo" ) )
        //            {
        //                Session[ "Privilegio" ] = "1";
        //            }
        //            else
        //            {
        //                Session[ "Privilegio" ] = "0";
        //            }
        //            Response.Redirect( "PantallaInicio.aspx" );
        //        }
        //        else
        //        {

        //            Response.Redirect( "InicioSesion.aspx?sLogin=1" );



        //        }

        //    }






        //}

        protected void alias_TextChanged(object sender, EventArgs e)
        {

        }

        protected void sLogin_ValueChanged(object sender, EventArgs e)
        {

        }

}

}